package com.john.blog.common.utils;

import java.io.File;

/**
 * 文件工具
 * 
 * @author JiangGengchao
 * @date 2018年2月28日
 */
public class FileUtils {

    /**
     * 获取工程根路径目录
     * 
     * @return
     */
    public static String getProjectBasePath() {
        String path = ClassLoader.getSystemResource("").getPath();
        if (path.startsWith("/")) {
            path = path.substring(1);
        }
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }
        return path;
    }

    /**
     * 
     * @param file
     * @return
     */
    public static boolean deleteFile(File file) {
        if (null != file) {
            return file.delete();
        }
        return true;
    }

    /**
     * 递归删除指定目录下的所有文件及子目录下所有文件
     * 
     * @param dir
     *            指定删除目录
     * @return
     */
    public static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            File[] listFiles = dir.listFiles();
            for (int i = 0; i < listFiles.length; i++) {
                boolean success = deleteDir(listFiles[i]);
                if (!success) {
                    return false;
                }
            }
        }
        // 目录此时为空，可以删除
        return dir.delete();
    }

}
